package com.songtech.basedao.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.songtech.base.common.BaseConstant;
import com.songtech.base.common.JsonResult;
import com.songtech.basedao.model.BaseDaoTest1;
import com.songtech.basedao.service.BaseServiceImpl3;

/**
 * 测试dao基本功能
 * <br>使用方式三、
 * <br>在自己的dao中调用基本的dao
 * <br>dao的实现类需要使用 @Repository 注解
 * <br>在注入该dao的位置使用 @Resource(name = "xxx")注解，xxx：表示dao实现类的类名，首字母小写如：demoDaoImpl3
 * <br>该使用方式现不使用(没有开spring扫描)
 */
@Controller
@RequestMapping("/basedao3")
public class BaseDaoController3 {
	@Autowired
	private BaseServiceImpl3 serviceDaoImpl;
	
	/**
	 * 根据id查询数据
	 * @param id
	 * @return
	 */
	@RequestMapping("/selectOne/{id}")
	@ResponseBody
	public JsonResult selectOne(@PathVariable("id") String id){
		BaseDaoTest1 bdt = serviceDaoImpl.get(id);
		return new JsonResult(bdt, BaseConstant.SUCCESS_CODE, BaseConstant.SUCCESS);
	}
	
	/**
	 * 查询所有的数据
	 * @return
	 */
	@RequestMapping("/selectAll")
	@ResponseBody
	public JsonResult selectAll(){
		List<BaseDaoTest1> list = serviceDaoImpl.getAll();
		return new JsonResult(list, BaseConstant.SUCCESS_CODE, BaseConstant.SUCCESS);
	}
}
